package g_stream;

import java.util.ArrayList;

/*
    优化foreach的使用
 */
public class ForEachDemo {
    public static void main(String[] args) {
        ArrayList<String> two = new ArrayList<>();
        two.add("古⼒娜扎");
        two.add("张⽆忌");
        two.add("赵丽颖");
        two.add("张三丰");
        two.add("尼古拉斯赵四");
        two.add("张天爱");
        two.add("张狗");

        ArrayList<String> list1 = new ArrayList<>();
        //需求: 筛选所有姓 张 的人
        for (String str : two) {
            if (str.startsWith("张")){
                list1.add(str);
            }
        }

        //需求: 筛选名字中有三个字
        ArrayList<String> list2 = new ArrayList<>();
        for (String str : list1) {
            if (str.length() == 3){
                list2.add(str);
            }
        }

        //需求: 将最后的筛选结果打印
        for(String name : list2){
            System.out.println(name);
        }

        System.out.println("-------------------------");

        //优化
        two.stream()
                .filter(s -> s.startsWith("张"))
                .filter(s -> s.length() == 3)
                .forEach(System.out::println);
    }
}
